package com.jyw.business.ins.domain.dto.web;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jyw.business.ins.domain.InsTaskRectify;
import com.jyw.common.utils.DateUtils;
import com.jyw.common.utils.bean.BeanUtils;
import com.jyw.system.domain.vo.SimpleFileVo;
import com.jyw.system.utils.FileUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * @author 沈峻
 * @ClassName RectifyUnitPageDto
 * @Description 异常整改单元响应
 * @Date 2023/9/27 14:04
 **/
@Data
@ApiModel("异常整改实体")
public class RectifyDto {

    @ApiModelProperty("id")
    @NotNull(message = "整改id不能为空")
    private Long id;

    /** 整改结果说明 */
    @ApiModelProperty("整改结果说明")
    @NotEmpty(message = "整改说明不能为空")
    private String resultElaborate;

    /** 整改过程照片（附件ID） */
    @ApiModelProperty("整改过程照片")
    private List<SimpleFileVo> rectifyPhotos;

    /** 录音文件（附件） */
    @ApiModelProperty("整改录音文件（附件）")
    private String rectifySoundFile;

    public InsTaskRectify buildRectify(){
        InsTaskRectify rectify = new InsTaskRectify();
        BeanUtils.copyProperties(this,rectify);
        rectify.setRectifyPhotos(FileUtils.fileToId(getRectifyPhotos()));
        rectify.setIsRectify(true);
        rectify.setRectifyTime(LocalDateTime.now());
        return rectify;
    }
}
